#ifndef SOCKET_BASE_H
#define SOCKET_BASE_H

typedef struct GASocketOperNoticeCallBack_tag {
	void *pObject;		
	void(*pCallBack)(void *pObject, int nStatus);
  void(*pResedData)(void *apObject, void *apData, int anSize);
}GASocketOperNoticeCallBack;

typedef enum
{
	SOCKET_STATUS_CONN = 0,
  SOCKET_STATUS_CLOSE,
  SOCKET_STATUS_ERROR,
  SOCKET_STATUS_NO_LOGIN,
  SOCKET_STATUS_NO_LEVE2,
  SOCKET_STATUS_SESSION_TIMEOUT,
}SOCKET_STATUS;

typedef enum
{
  kGASocketOperNoConnection = 0,    //没有连接
  kGASocketOperWaitLoginKey,        //创建连接成功,等待接收服务器密钥
  kGASocketOperWaitLoginStatus,     //已经发送认证，等待服务器返回认证状态
  kGASocketOperLoginComplete,       //认证成功
  kGASocketOperClose,               //连接关闭
}GASocketOperLoginStatus;

typedef enum
{
  kGASocketOperReadHead,            //读取包头
  kGASocketOperReadBody,            //读取包体
}GASocketOperReadStatus;

#endif
